|
AutoCAD VBA : Benannte Text-Variablen im Layout ?
wwwilli am 09.12.2007 um 22:25 Uhr (0)
Hallo und danke.Layout/Block/Entity probier ich Mo oder Di.Weiß noch jemand was zur Wert-Anzeige bei Attributen? Oder muss ich in das Wesen der Attribute an und für sich tiefer einsteigen?MfG,wwwilli
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Benannte Text-Variablen im Layout ?
wwwilli am 06.12.2007 um 11:34 Uhr (0)
Hallo.Kann ich in einem Layout Texte als benannte Variablen definieren, die ich in einem VBA-Makro abfragen kann?Ich meine, den Layoutnamen kann ich im Makro mit "ThisDrawing.ActiveLayout.Name" verwenden. Ich möchte nun darüberhinaus im Layout Texte mit variablem Inhalt benennen, z.B. mit dem Inhalt "Lageplan Blatt 1" oder "7.1". Im Makro möchte ich dann diese Inhalte verwenden können, z.B. unter den Benennungen "Planinhalt" bzw. "Anlagennummer". Geht das?Ich könnte mir als Hilfskonstruktionen vorstellen, ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Benannte Text-Variablen im Layout ?
wwwilli am 10.12.2007 um 12:56 Uhr (0)
Hallo Stelli,ich bekomme bei manchen DWG in der Schleife "For Each Entity" nach Durchlauf einiger Tausend Objekte immer einen Fehler, den ich nicht abfangen kann:"Laufzeitfehler -2147221231(80040111): Automatisierungsfehler; ClassFactory kann angeforderte Klasse nicht liefern." For Each entity In layout.Block Debug.Print entity.ObjectName Next entity hier fehler?Kann man die "Entities" irgendwie anders ansprechen? Mit .Item(i) von irgendwas? Dann könnte ich ein "Resume Next" benutzen, um evtl. fehlerh ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Benannte Text-Variablen im Layout ?
wwwilli am 10.12.2007 um 11:43 Uhr (0)
OK, ich habe es wohl, mit.HasAttributes und .GetAttributes ...Danke und MfG,wwwilli
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Benannte Text-Variablen im Layout ?
wwwilli am 11.12.2007 um 13:10 Uhr (0)
Naja, es geht.Hatte wohl ein kleines SET vergessen oder so... MfG,wwwilli
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Benannte Text-Variablen im Layout ?
wwwilli am 10.12.2007 um 10:36 Uhr (0)
So, also, es scheint, ich muss das Attribut als Bestandteil eines Blocks definieren und ins DWG einfügen. Aber wie kommt VBA dann noch an die einzelnen Attributeigenschaften wieder dran (.TagString und .TextString)?MfG,wwwilli[Diese Nachricht wurde von wwwilli am 10. Dez. 2007 editiert.]
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Wert anzeigen
wwwilli am 04.03.2010 um 10:34 Uhr (0)
So, ja, danke, damit tuts auch bei mir, was ich gedacht hatte.Jetzt wäre f-m wieder dran. Eventuell fehlt ihm noch, dass ein bestimmter Block gesucht wird, dann muss er vielleicht sämtliche AC-Elemente im Layout (ThisDrawing.ActiveLayout) durchlaufen und fragen, ob sie ein Block sind und den richtigen Namen haben und dann Anweisungen aus der obige Routine nach Bedarf dranhängen. Code: For Each tEnt In ThisDrawing.ActiveLayout.Block If tEnt.ObjectName = "AcDbBlockReference" Then If tEnt.Name ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Benannte Text-Variablen im Layout ?
wwwilli am 06.12.2007 um 12:35 Uhr (0)
Hallo,guter Anfang.Vermutlich muss ich in VBA dann Objekte selektieren und alle mit .ObjectName = "AcDbAttributeDefinition"auf den richtigen .TagString testen.Noch einige Fragen bitte:- Ich will möglichst wenig Objekte durchsuchen müssen. Wie kriege ich nur die ACAD-Objekte des aktiven Layouts selektiert? Mit "sset.Select (acSelectionSetAll)"werden Elemente aus ALLEN Layouts und dem Modell ausgewählt. Oder gibt es eine Eigenschaft, die den Namen des Layouts angibt?- Kann so ein Attribut seinen "Wert" anzei ...
|
| In das Form AutoCAD VBA wechseln |